// pages/order/order.js
const app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // start: '',
    // end: '',
    // time: '',
    // userPhone:'',
    orderNum: 0,
    // 订单列表
    orderList: [],
    startX: '',
    startY: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    

    console.log(app.globalData.orderList)

    // 当前接单人数
    var orderNum = app.globalData.orderList.length

    // 加载订单列表
    this.setData({
      orderList: app.globalData.orderList ,
      orderNum: orderNum
    })

    this.setListX();

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.onLoad()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  // 联系乘客
  call(e){
    console.log(e.currentTarget.dataset.userphone)
    console.log("aaa")

    var userPhone = e.currentTarget.dataset.userphone

    wx.makePhoneCall({
      phoneNumber: userPhone,
    })
  },


// 删除收回效果
  // 给每一项设置x值
  setListX() {
    this.data.orderList.map(item => {
      item.x = 0;
    })
    this.setData({
      orderList: this.data.orderList
    })
  },
  // 开始滑动
  touchMoveStartHandle(e) {
   // 我们要记录滑动开始的坐标点，后面计算要用到
    if (e.touches.length == 1) {
      this.setData({
        startX: e.touches[0].clientX,
        startY: e.touches[0].clientY
      });
    }
  },
  // 滑动事件处理,一次只能滑出一个删除按钮 为了防止滑动出现抖动，我们用滑动结束事件
  touchMoveEndHandle: function (e) {
    var currentIndex = e.currentTarget.dataset.index, //当前索引
      startX = this.data.startX, //开始X坐标
      startY = this.data.startY, //开始Y坐标
      touchMoveEndX = e.changedTouches[0].clientX, //滑动变化X坐标
      touchMoveEndY = e.changedTouches[0].clientY, //滑动变化Y坐标
      //获取滑动角度
      angle = this.angle({
        X: startX,
        Y: startY
      }, {
        X: touchMoveEndX,
        Y: touchMoveEndY
      });
    //滑动超过50度角 return，防止上下滑动触发
    if (Math.abs(angle) > 50) return;
    this.data.orderList.map((item, index) => {
      if (touchMoveEndX > startX) {
        // 右滑
        if (index == currentIndex) item.x = 0;
      } else {
        // 左滑
        item.x = -120
        if (index != currentIndex) item.x = 0;
      }
    })
    this.setData({
      orderList: this.data.orderList
    })
  },
  /**
   * 计算滑动角度
   * start 起点坐标
   * end 终点坐标
   * Math.PI 表示一个圆的周长与直径的比例，约为 3.14159;PI就是圆周率π，PI是弧度制的π,也就是180°
   */
  angle: function (start, end) {
    var _X = end.X - start.X,
      _Y = end.Y - start.Y
    return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
  },

  // 删除订单
  delete(){
    wx.showModal({
      title: '提示信息',
      content: '是否删除该订单',
      confirmText: '删除',
      success:(res) => {
        if( res.confirm ){
           
          this.removeOrder()

        }else if(res.cancel) {     
         console.log("用户点击取消")
         }
      }
    })
  },

  removeOrder(){

  }

})